package com.aiti.lulian.service;

import com.aiti.base.core.base.service.BaseService;
import com.aiti.base.core.utils.message.Message;
import com.aiti.lulian.bo.CardClusterInfoBo;
import com.aiti.lulian.dto.CardClusterInfoDto;
import com.aiti.lulian.entity.crad.cluster.CardClusterEnterpriseBinding;
import com.aiti.lulian.entity.crad.cluster.CardClusterInfo;
import com.aiti.lulian.vo.CardClusterDetailInfo;
import com.aiti.lulian.vo.CardClusterExportInfo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;

public interface ICardClusterInfoService extends BaseService<CardClusterInfo> {
    /**
     * 新增产业集群
     * @param bo
     */
    boolean addCardClusterInfo(CardClusterInfoBo bo,String userId,String enterpriseId);

    /**
     * 查询产业集群详情
     * @param userId 创建人Id
     * @param bo 参数
     * @return 结果
     */
    CardClusterDetailInfo queryClusterDetailInfo(String userId, CardClusterInfoBo bo);

    List<CardClusterInfo> queryClusterList(Page<CardClusterInfo> page, CardClusterInfoBo bo);

    void updateCardClusterInfo(CardClusterInfoBo bo);

    List<CardClusterEnterpriseBinding> selectEnterpriseInfoByClusterId(String clusterId);

    Message deleteClusterById(String baseId,String userId);

    List<CardClusterDetailInfo> getList(String baseId);

    List<CardClusterInfo> weiHu();

    Message importClusterEnterpriseBatch(MultipartFile file, String userId) throws IOException;

    List<CardClusterExportInfo> clusterList(CardClusterInfoDto dto);


    List<CardClusterDetailInfo> clusterPage(Page page, CardClusterInfoDto dto);

    List<CardClusterEnterpriseBinding> clusterEnterpriseList(String clusterId);

    CardClusterDetailInfo clusterDetailInfo(String baseId);

    boolean addCardClusterInfoNew(CardClusterInfoBo bo,String userId);

    void updateCardClusterInfoNew(CardClusterInfoBo bo);

    Message deleteClusterNew(String baseId);


}
